概述
SView for Windos Control为OCX控件提供三维模型基本的浏览、模型属性操作、基本三维对象操作、动画播放等功能的实现接口,可实现基本的 三维模型展示功能,以便于用户个性化定制属于自己的产品。文档主要介绍了OCX控件提供的接口说明。SView for Windows Control控件集成说明的介绍请查看SView for Windows Control 集成说明文档。
接口列表
界面
面板显隐
方法
void ShowPanel(BSTR showPanel , VARIANT_BOOL showPorperty)
说明
面板显隐
参数
参数 | 是否必须 | 说明 |
---|---|---|
showPanel | 是 | 面板名称 |
showPorperty | 是 | 是否显示,True/False |
返回值
bool 显隐成功/失败
备注
面板名称 | 参数 |
---|---|
装配 | AssemblyPanel |
视图 | ViewPanel |
属性 | PropertyPanel |
图层 | LayerPanel |
工具栏显隐
方法
VARIANT_BOOL ShowToolbar(BSTR toolbarName, VARIANT_BOOL visible)
说明
工具栏显隐
参数
参数 | 是否必须 | 说明 |
---|---|---|
toolbarName | 是 | 工具栏名称 |
visible | 是 | 是否显示,True/False |
返回值
bool 显隐成功/失败
备注
工具栏名称 | 参数 |
---|---|
上部工具栏 | TopBar |
右侧工具栏 | RightBar |
底部工具栏 | BottomBar |
批注工具栏 | AnnotationBar |
手绘批注工具栏 | GestureNoteBar |
剖切工具栏 | ClipBar |
爆炸工具栏 | ExplodeBar |
测量工具栏 | MesuareBar |
动画工具栏 | AnimateBar |
执行操作
方法
VARIANT_BOOL DoActions(SHORT viewID, BSTR actions)
说明
执行操作
参数
参数 | 是否必须 | 说明 |
---|---|---|
viewID | 是/默认是0 | 视口ID |
actions | 是 | json见Action定义 |
返回值
bool 执行操作成功/失败
备注
执行命令
方法
VARIANT_BOOL DoCommand(SHORT viewID, BSTR commandJson)
说明
执行命令
参数
参数 | 是否必须 | 说明 |
---|---|---|
viewID | 是/默认是0 | 视口ID |
actions | 是 | json见Command定义 |
返回值
bool 执行操作成功/失败
备注
全屏
方法
void FullScreen(VARIANT_BOOL isFullScreen)
说明
全屏
参数
参数 | 是否必须 | 说明 |
---|---|---|
isFullScreen | 是 | 是否全屏显示,True/False |
返回值
void
备注
配置
设置多个SView配置
方法
void SetParameters(BSTR configJson)
说明
设置多个SView配置
参数
参数 | 是否必须 | 说明 |
---|---|---|
configJson | 是 | 多个参数json字符串 |
返回值
void
备注
Json格式示例:
{ "GLES": "2", "coordinate": "True", "antialiasing": "0", "isPlayScene": "True" }
获取多个SView配置
方法
BSTR GetParameters()
说明
获取多个SView配置
参数
无
返回值
BSTR 返回多个参数值的json字符串
备注
设置多个View配置
方法
void SetViewParameters(SHORT viewID, BSTR paramJson)
说明
设置多个View配置
参数
参数 | 是否必须 | 说明 |
---|---|---|
viewID | 是/默认是0 | 视口ID |
paramJson | 是 | 多个参数json字符串 |
返回值
void
备注
Json格式示例:
{ "ShowBox":"True", //显示包围盒 "MultiSelect":"True", //多选 "UpDirection":"0",//模型上方向0=+X;1=-X;2=+Y;3=-Y;4=+Z;5=-Z; "AutoSelectRotateCenter":"True" //指定旋转 "DrawMode":"0",//渲染模式 0着色模式、1半透明模式、3线框模式、4边着色模式、5显示网格、6取消半透明模式、7显示/取消显示包围盒 "modelSelectedColor":"1,0,0,1"//模型选中颜色 }
设置单个View配置
方法
void SetViewParameter(SHORT viewID, BSTR name, BSTR value)
说明
设置单个View配置
参数
参数 | 是否必须 | 说明 |
---|---|---|
viewID | 是/默认是0 | 视口ID |
name | 是 | 参数名,如"ShowBox" |
value | 是 | 参数值,如"True" |
返回值
void
备注
文件
打开文件
方法
void Open(SHORT viewID,BSTR fileUris)
说明
打开本地文件/打开网络文件
参数
参数 | 是否必须 | 说明 |
---|---|---|
viewID | 是,默认是0 | 视口ID |
fileUris | 是 | 本地文件路径/网络文件路径多个文件用;;分割 |
返回值
void
备注
本地文件路径示例 D:\\1.svl 打开D盘下的1.svl文件
网络文件示例 http://192.168.75.1:8080/svlfiles/1.svl
关闭模型
方法
void Close(SHORT viewID)
说明
关闭模型
参数
参数 | 是否必须 | 说明 |
---|---|---|
viewID | 是/默认是0 | 视口ID |
返回值
void
备注
基本浏览
刷新视口
方法
void RefreshWindow(SHORT viewID)
说明
刷新视口
参数
参数 | 是否必须 | 说明 |
---|---|---|
viewID | 是/默认是0 | 视口ID |
返回值
void
备注
设置基本视图
方法
void SetPerspective(SHORT viewID,SHORT viewType)
说明
设置基本视图
参数
参数 | 是否必须 | 说明 |
---|---|---|
viewID | 是/默认是0 | 视口ID |
viewType | 是 | viewType:视图方向 |
返回值
void
备注
设置基本视图,如正视图、轴侧图等视图方向:0前视图,1后视图,2左视图,3右视图,4仰视图,5俯视图,6轴测图,7默认视图,8后轴测图
设置观察模式
方法
void SetOrbitMode(SHORT viewID, SHORT modelType)
说明
设置观察模式
参数
参数 | 是否必须 | 说明 |
---|---|---|
viewID | 是/默认是0 | 视口ID |
viewType | 是 | modelType:观察类型 |
返回值
void
备注
设置观察类型观察类型:0 自由观察, 1 动态观察,2 受约束的动态观察
复位视口
方法
void RestoreView(SHORT viewID)
说明
复位视口
参数
参数 | 是否必须 | 说明 |
---|---|---|
viewID | 是/默认是0 | 视口ID |
返回值
void
备注
复位视口,复位整个场景,回到初始化完成状态
复位模型
方法
void Restore(SHORT viewID, BSTR shapeIDs, SHORT type)
说明
复位模型
参数
参数 | 是否必须 | 说明 |
---|---|---|
viewID | 是/默认是0 | 视口ID |
shapeIDs | 是 | shapes数组,需要复位的对象数组,为空则复位所有对象。 shapeIDs为对象路径。 |
type | 是 | 复位的属性类型。0=All,1=transform,2=color,3=visible |
返回值
void
备注
复位模型,根据参数决定复位哪个属性
聚焦显示
方法
void Focus(SHORT viewID, BSTR svlPath)
说明
聚焦显示
参数
参数 | 是否必须 | 说明 |
---|---|---|
viewID | 是/默认是0 | 视口ID |
svlPath | 是 | 聚焦显示的对象路径 |
返回值
void
备注
滚轮方向
方法
void SetWheelDirection(SHORT viewID, SHORT direction)
说明
滚轮方向
参数
参数 | 是否必须 | 说明 |
---|---|---|
viewID | 是/默认是0 | 视口ID |
direction | 是 | 滚轮方向对应数值。 direction:1,后滚放大;—1,前滚放大。 |
返回值
void
备注
向上方向
方法
void SetUpDirection(SHORT viewID, SHORT axis)
说明
向上方向
参数
参数 | 是否必须 | 说明 |
---|---|---|
viewID | 是/默认是0 | 视口ID |
axis | 是 | 向上方向对应的数值大小。 axis:0 右方向;1 左方向;2 上方向;3 下方向;4 前方向;5 后方向 |
返回值
void
备注
快照
方法
void TakeScreenPicture(BSTR savePath)
说明
快照
参数
参数 | 是否必须 | 说明 |
---|---|---|
savePath | 是 | 快照保存的本地路径。 |
返回值
void
备注
选择
获取模型是否高亮
方法
VARIANT_BOOL IsHighlight(SHORT viewID, BSTR svlPath)
说明
根据svlPath来获取模型是否高亮;
参数
参数 | 是否必须 | 说明 |
---|---|---|
viewID | 是/默认是0 | 视口ID |
svlPath | 是 | 模型唯一标识 |
返回值
True/False 高亮/不高亮
备注
svlPath 示例"PATH|0|3|2|3",此svlPath只支持单个唯一标识处理;
设置高亮
方法
void Highlight(SHORT viewID, BSTR shapeID,VARIANT_BOOL highlight)
说明
根据shapeID模型标识,highlight是否高亮来设置高亮
参数
参数 | 是否必须 | 说明 |
---|---|---|
viewID | 是 | 视口ID默认为0 |
shapeID | 是 | 模型唯一标识(见备注) |
highlight | 是 | 是否高亮显示,True/False高亮/不高亮 |
返回值
void
备注
shapeID 示例"PATH|0|3|2|3" 如果有多个需要用","分隔开例如:"PATH|0|3|2|3,PATH|0|17|6,PATH|0|2";
获取选中的模型
方法
BSTR GetSelectedModels(SHORT viewID)
说明
获取当前视口中选中的模型。
参数
参数 | 是否必须 | 说明 |
---|---|---|
viewID | 是 | 视口ID默认为0 |
返回值
类型:BSTR描述:返回的模型数组,OCX中为模型id列表的字符串,以英文逗号间隔。
备注
取消选中模型
方法
void DeselectModels(SHORT viewID, BSTR modelIDs)
说明
取消选中指定的多个模型。
参数
参数 | 是否必须 | 说明 |
---|---|---|
viewID | 是 | 视口ID默认为0 |
modelIDs | 是 | modelIDs:要取消选中的模型数组。为Null则取消选中所有已选模型。 OCX中为对象id列表的字符串,以英文逗号间隔。 |
返回值
void
备注
选中对象
方法
void SelectShapes(SHORT viewID, BSTR shapeIDs, SHORT type)
说明
在视口中高亮指定的对象,如果有对应面板,则在面板中选中指定对象。
参数
参数 | 是否必须 | 说明 |
---|---|---|
viewID | 是 | 视口ID默认为0 |
shapeIDs | 是 | 指定的对象数组 |
type | 是 | 指定的类型,如:0=模型、1=批注、2=测量、3=PMI、4=热点、5=几何等 |
返回值
void
备注
无
获取选中的对象
方法
BSTR GetSelectedShapes(SHORT viewID, SHORT type)
说明
获取当前视口中选中的对象。
参数
参数 | 是否必须 | 说明 |
---|---|---|
viewID | 是 | 视口ID默认为0 |
type | 是 | 指定的类型,如:1=批注、2=测量、3=PMI、4=热点、5=几何等 |
返回值
类型:BSTR描述:shapes:指定的对象数组,OCX中为对象id列表的字符串,以英文逗号间隔。
备注
无
取消选中对象
方法
void DeselectShapes(SHORT viewID, BSTR shapeIDs, SHORT type)
说明
取消选中对象
参数
参数 | 是否必须 | 说明 |
---|---|---|
viewID | 是 | 视口ID默认为0 |
shapeIDs | 是 | shapeIDs:要取消选中的指定的对象数组 |
type | 是 | type:指定的类型,如:1=批注、2=测量、3=PMI、4=热点、5=几何等 |
返回值
void
备注
无
模型
获取模型名称
方法
BSTR GetModelName(SHORT viewID, BSTR svlPath)
说明
通过svlPath获取模型名称;
参数
参数 | 是否必须 | 说明 |
---|---|---|
viewID | 是 | 视口ID默认为0 |
svlPath | 是 | 模型唯一标识 |
返回值
类型:BSTR描述:模型名称
备注
svlPath 示例"PATH|0|3|2|3",此svlPath只支持单个唯一标识处理;
重命名模型
方法
void SetModelName(SHORT viewID, BSTR modelID, BSTR name)
说明
重命名模型与设置模型名称相同,同时会更新装配树中的模型名称;
参数
参数 | 是否必须 | 说明 |
---|---|---|
viewID | 是 | 视口ID默认为0 |
modelID | 是 | modelID:模型唯一标识 |
name | 是 | 重命名模型的名字 |
返回值
void
备注
modelID 示例"PATH|0|3|2|3",此modelID只支持单个唯一标识处理;
获取所有的子模型
方法
BSTR GetModelSubModels(SHORT viewID, BSTR address)
说明
获取所有子模型;
参数
参数 | 是否必须 | 说明 |
---|---|---|
viewID | 是 | 视口ID默认为0 |
address | 是 | address:模型唯一标识 |
返回值
类型:BSTR描述:模型唯一标识,路径
备注
address 示例"PATH|0",此address只支持单个唯一标识处理;
获取父Model
方法
BSTR GetModelParent(SHORT viewID, BSTR address)
说明
获取父Model;
参数
参数 | 是否必须 | 说明 |
---|---|---|
viewID | 是 | 视口ID默认为0 |
address | 是 | address:模型唯一标识 |
返回值
类型:BSTR描述:模型唯一标识,路径
备注
address 示例"PATH|0|3|2|3",此address只支持单个唯一标识处理;
是否为装配件
方法
VARIANT_BOOL IsModelAssembly(SHORT viewID, BSTR modelID)
说明
是否为装配件;
参数
参数 | 是否必须 | 说明 |
---|---|---|
viewID | 是 | 视口ID默认为0 |
modelID | 是 | modelID:模型唯一标识 |
返回值
True/False 是否为装配件
备注
modelID 示例"PATH|0|3|2|3",此modelID只支持单个唯一标识处理;
获取模型位置
方法
BSTR GetModelWorldPosition(SHORT viewID, BSTR modelID)
说明
获取模型位置;
参数
参数 | 是否必须 | 说明 |
---|---|---|
viewID | 是 | 视口ID默认为0 |
modelID | 是 | modelID:模型唯一标识 |
返回值
paramJson为json格式数据:{ "positionX": 3042.774, "positionY": -549.5999, "positionZ": -904.6703 }
备注
modelID 示例"PATH|0|3|2|3",此modelID只支持单个唯一标识处理;
设置模型位置
方法
void SetModelWorldPosition(SHORT viewID, BSTR modelID, BSTR pos)
说明
设置模型位置;
参数
参数 | 是否必须 | 说明 |
---|---|---|
viewID | 是 | 视口ID默认为0 |
modelID | 是 | modelID:模型唯一标识 |
pos | 是 | pos:世界坐标系中的模型中心点位置。 ocx中为位置xyz坐标值字符串"x,y,z" |
返回值
void
备注
modelID 示例"PATH|0|3|2|3",此modelID只支持单个唯一标识处理;
显示或隐藏模型
方法
void SetModelVisible(SHORT viewID, BSTR modelID, VARIANT_BOOL visible)
说明
显示或隐藏模型;
参数
参数 | 是否必须 | 说明 |
---|---|---|
viewID | 是 | 视口ID默认为0 |
modelID | 是 | modelID:模型唯一标识 |
visible | 是 | visible:是否可见。 |
返回值
void
备注
modelID 示例"PATH|0|3|2|3",此modelID只支持单个唯一标识处理;
复位模型
方法
void RestoreModel(SHORT viewID, BSTR modelPath)
说明
复位模型;
参数
参数 | 是否必须 | 说明 |
---|---|---|
viewID | 是 | 视口ID默认为0 |
modelPath | 是 | modelPath:模型唯一标识 |
返回值
void
备注
modelPath 示例"PATH|0|3|2|3",此modelPath只支持单个唯一标识处理;
设置模型居中显示
方法
void FocusModel(BSTR svlPath)
说明
设置模型居中显示;
参数
参数 | 是否必须 | 说明 |
---|---|---|
svlPath | 是 | svlPath:模型唯一标识 |
返回值
void
备注
svlPath 示例"PATH|0|3|2|3",此svlPath只支持单个唯一标识处理;
模型属性
获取模型所有自定义属性
方法
BSTR GetModelProperties(SHORT viewID, BSTR modelID)
说明
获取模型所有自定义属性;
参数
参数 | 是否必须 | 说明 |
---|---|---|
viewID | 是 | 视口ID默认为0 |
modelID | 是 | modelID:模型唯一标识 |
返回值
string ret,json格式的属性列表
备注
modelID 示例"PATH|0|3|2|3",此modelID只支持单个唯一标识处理;
设置模型所有自定义属性
方法
void SetModelProperties(SHORT viewID, BSTR modelPath,BSTR propertiesStr)
说明
设置模型所有自定义属性;
参数
参数 | 是否必须 | 说明 |
---|---|---|
viewID | 是 | 视口ID默认为0 |
modelPath | 是 | modelPath:模型唯一标识 |
propertiesStr | 是 | modelID:模型唯一标识 |
返回值
void
备注
modelPath 示例"PATH|0|3|2|3",此modelPath只支持单个唯一标识处理。propertiesStr为json格式数据:
{ "visible": "true", "description": "gdfgdfg", "viewName": "", "animationName": "", "voiceFileName": "", "cameraProjectionType": "0", "position": [-126.909454, -113.450348, 280.300476] }
获取模型单个自定义属性
方法
BSTR GetModelProperty(SHORT viewID, BSTR modelID, BSTR name)
说明
获取模型单个自定义属性;
参数
参数 | 是否必须 | 说明 |
---|---|---|
viewID | 是 | 视口ID默认为0 |
modelID | 是 | modelID:模型唯一标识 |
name | 是 | string name,属性名 |
返回值
string ret:属性值
备注
modelID 示例"PATH|0|3|2|3",此modelID只支持单个唯一标识处理;
设置模型单个自定义属性
方法
void SetModelProperty(SHORT viewID, BSTR svlPath, BSTR name, BSTR value)
说明
设置模型单个自定义属性;
参数
参数 | 是否必须 | 说明 |
---|---|---|
viewID | 是 | 视口ID默认为0 |
svlPath | 是 | svlPath:模型唯一标识 |
name | 是 | 属性名 |
value | 是 | 属性值 |
返回值
void
备注
svlPath 示例"PATH|0|3|2|3",此svlPath只支持单个唯一标识处理。
删除模型单个自定义属性
方法
VARIANT_BOOL RemoveModelProperty(SHORT viewID, BSTR modelPath, BSTR propertyName)
说明
删除模型单个自定义属性;
参数
参数 | 是否必须 | 说明 |
---|---|---|
viewID | 是 | 视口ID默认为0 |
modelPath | 是 | modelPath:模型配置路径 |
propertyName | 是 | 属性名称 |
返回值
void
备注
modelPath 示例"PATH|0|3|2|3",此modelPath只支持单个唯一标识处理。
视图
获取视图列表
方法
BSTR GetModelViews(SHORT viewID)
说明
获取视图列表
参数
参数 | 是否必须 | 说明 |
---|---|---|
viewID | 是 | 视口ID默认为0 |
返回值
类型:BSTR描述:视图集合,OCX中为视图id拼接字符串。
备注
无
保存视图为Json串
方法
BSTR ToModelViewJson(SHORT viewID, BSTR modelViewID)
说明
根据视图ID序列化生成视图Json数据
参数
参数 | 是否必须 | 说明 |
---|---|---|
viewID | 是 | 视口ID默认为0 |
modelViewID | 是 | 视图ID,为All则获取全部视图,多个modelViewID用逗号隔开,例如:1001,1002,1003,1004 |
返回值
类型:BSTR描述:视图json数据。
备注
无
从Json串添加视图
方法
BSTR FromModelViewJson(SHORT viewID, BSTR jsonStr)
说明
根据视图Json数据生成视图
参数
参数 | 是否必须 | 说明 |
---|---|---|
viewID | 是 | 视口ID默认为0 |
jsonStr | 是 | 视图Json数据 |
返回值
类型:BSTR描述:视图ID,多个ID用逗号隔开,例如:1001,1002,1003,1004。
备注
无
添加自定义视图
方法
SHORT CreateModelView(SHORT viewID, SHORT type)
说明
根据当前场景创建视图。
参数
参数 | 是否必须 | 说明 |
---|---|---|
viewID | 是 | 视口ID默认为0 |
type | 是 | type:1=相机,2=零件位置,4=批注,8=热点。。。 |
返回值
类型:SHORT描述:视图ID
备注
无
删除视图
方法
VARIANT_BOOL RemoveModelView(SHORT viewID, SHORT measureShapeID)
说明
删除视图
参数
参数 | 是否必须 | 说明 |
---|---|---|
viewID | 是 | 视口ID默认为0 |
measureShapeID | 是 | 要删除的视图ID |
返回值
类型:VARIANT_BOOL描述:视图删除成功/失败 True/False
备注
无
获取当前视图
方法
SHORT GetCurrentModelView(SHORT viewID)
说明
获取当前视图
参数
参数 | 是否必须 | 说明 |
---|---|---|
viewID | 是 | 视口ID默认为0 |
返回值
类型:SHORT描述:当前视图ID
备注
无
显示视图
方法
void ShowModelView(SHORT viewID, SHORT modelViewID, VARIANT_BOOL bAnimationPlay)
说明
显示视图
参数
参数 | 是否必须 | 说明 |
---|---|---|
viewID | 是 | 视口ID默认为0 |
返回值
void
备注
无
获取默认视图
方法
SHORT GetDefaultModelView(SHORT viewID)
说明
获取默认视图
参数
参数 | 是否必须 | 说明 |
---|---|---|
viewID | 是 | 视口ID默认为0 |
返回值
视图对象,默认视图ID
备注
无
设置默认视图
方法
void SetDefaultModelView(SHORT viewID, SHORT modelViewID)
说明
设置默认视图
参数
参数 | 是否必须 | 说明 |
---|---|---|
viewID | 是 | 视口ID默认为0 |
modelViewID | 是 | 默认视图ID |
返回值
void
备注
无
获取视图关联的PMI
方法
BSTR GetModelViewPMIs(SHORT viewID, SHORT modelViewID)
说明
获取视图关联的PMI
参数
参数 | 是否必须 | 说明 |
---|---|---|
viewID | 是 | 视口ID默认为0 |
modelViewID | 是 | 视图ID |
返回值
PMI集合,ocx中为pmiID数组字符串
备注
无
获取视图关联的批注
方法
BSTR GetModelViewNotes(SHORT viewID, SHORT modelViewID)
说明
获取视图关联的批注
参数
参数 | 是否必须 | 说明 |
---|---|---|
viewID | 是 | 视口ID默认为0 |
modelViewID | 是 | 默认视图ID |
返回值
批注集合,ocx中为ID数组字符串
备注
无
获取视图关联的模型
方法
BSTR GetModelViewModels(SHORT viewID, SHORT modelViewID)
说明
获取视图关联的模型
参数
参数 | 是否必须 | 说明 |
---|---|---|
viewID | 是 | 视口ID默认为0 |
modelViewID | 是 | 默认视图ID |
返回值
模型集合,ocx中为ID数组字符串
备注
无
获取视图关联的剖切
方法
BSTR GetModelViewClips(SHORT viewID, SHORT modelViewID)
说明
设置默认视图
参数
参数 | 是否必须 | 说明 |
---|---|---|
viewID | 是 | 视口ID默认为0 |
modelViewID | 是 | 默认视图ID |
返回值
剖切集合,ocx中为ID数组字符串
备注
无
PMI
获取模型PMI列表
方法
BSTR GetModelViewClips(SHORT viewID, SHORT modelViewID)
说明
获取指定model下的PMI数组,如果model为Null,则获取PMI文件中所有PMI。
参数
参数 | 是否必须 | 说明 |
---|---|---|
viewID | 是 | 视口ID默认为0 |
modelViewID | 是 | 默认视图ID |
返回值
指定模型PMI数据
备注
无
批注
反序列化批注
方法
BSTR FromNoteJson(BSTR jsonStr)
说明
根据批注Json数据反序列化生成文本批注
参数
参数 | 是否必须 | 说明 |
---|---|---|
jsonStr | 是 | 文本批注Json数据 |
返回值
文本批注ID,多个ID用逗号隔开,例如:55410,55411,55412
备注
无
序列化批注
方法
BSTR ToNoteJson(BSTR noteIDs)
说明
根据批注ID,文本批注序列化成Json数据
参数
参数 | 是否必须 | 说明 |
---|---|---|
noteIDs | 是 | 文本批注ID,All为获取全部文本批注,多个ID用逗号隔开,例如:55410,55411,55412 |
返回值
为json格式数据
备注
无
获取所有批注
方法
BSTR GetModelAllNotes(SHORT viewID, BSTR modelPath)
说明
获取指定model下的Note数组,如果model为Null,则获取note文件中所有note。
参数
参数 | 是否必须 | 说明 |
---|---|---|
viewID | 是 | 视口ID默认为0 |
modelPath | 是 | 模型唯一标识 |
返回值
获取指定model下的Note数组
备注
modelPath 示例"PATH|0|3|2|3";
删除批注
方法
void RemoveNote(SHORT viewID, BSTR noteIDs)
说明
删除指定模型的批注
参数
参数 | 是否必须 | 说明 |
---|---|---|
viewID | 是 | 视口ID默认为0 |
modelPath | 是 | 模型唯一标识 |
返回值
void
备注
modelPath 示例"PATH|0|3|2|3";
热点
创建热点
方法
BSTR CreateHotSpot(SHORT viewID, BSTR locationX, BSTR locationY, BSTR name)
说明
创建热点
参数
参数 | 是否必须 | 说明 |
---|---|---|
viewID | 是 | 视口ID默认为0 |
locationX | 是 | 屏幕坐标点X值 |
locationY | 是 | 屏幕坐标点Y值 |
name | 是 | 热点名称 |
返回值
创建的热点ID
备注
设置热点图片
方法
void SetHotSpotImage(SHORT viewID, BSTR hotSpotId, BSTR imagePath)
说明
设置热点图片
参数
参数 | 是否必须 | 说明 |
---|---|---|
viewID | 是 | 视口ID默认为0 |
hotSpotId | 是 | 热点id |
imagePath | 是 | 图片文件路径 |
返回值
void
备注
图片文件路径例:C:\\123.png;
反序列化热点
方法
void ToHotSpotJson(SHORT viewID, BSTR hotSpotId)
说明
反序列化热点
参数
参数 | 是否必须 | 说明 |
---|---|---|
viewID | 是 | 视口ID默认为0 |
hotSpotId | 是 | 热点id |
返回值
void
备注
热点删除
方法
VARIANT_BOOL RemoveHotSpot(SHORT viewID, BSTR hotSpotId)
说明
删除指定的热点
参数
参数 | 是否必须 | 说明 |
---|---|---|
viewID | 是 | 视口ID默认为0 |
hotSpotId | 是 | 热点id |
返回值
热点删除成功/失败 True/False
备注
测量
删除距离
方法
VARIANT_BOOL RemoveMeasure(SHORT viewID, BSTR measureShapeID)
说明
删除指定的距离对象
参数
参数 | 是否必须 | 说明 |
---|---|---|
viewID | 是 | 视口ID默认为0 |
measureShapeID | 是 | 测量对象的集合。 |
返回值
测量对象删除成功/失败 True/False
备注
反序列化测量对象
方法
BSTR ToMeasureJson(BSTR measureIDs)
说明
反序列化测量对象
参数
参数 | 是否必须 | 说明 |
---|---|---|
viewID | 是 | 视口ID默认为0 |
measureIDs | 是 | 测量对象的集合 |
返回值
json格式测量数据;
备注
序列化测量对象
方法
void FromMeasureJson(BSTR jsonStr)
说明
序列化测量对象
参数
参数 | 是否必须 | 说明 |
---|---|---|
jsonStr | 是 | json格式测量数据; |
返回值
void
备注
智能测量
设置预选状态
方法
void PreView(SShape shape, bool isPreView)
说明
设置shape预选状态
参数
参数 | 是否必须 | 说明 |
---|---|---|
pickShape | 是 | 要设置状态的shape |
isPreView | 是 | 状态 |
返回值
备注
获取预选状态
方法
bool isPreView(SShape shape)
说明
获取shape预选状态
参数
参数 | 是否必须 | 说明 |
---|---|---|
shape | 是 | 要获取状态的shape |
返回值
预选状态
备注
清除预选状态
方法
void ClearPreView()
说明
清除预选状态
参数
无
返回值
备注
是否直线
方法
bool IsStraightLine(SLine shape)
说明
是否直线
参数
参数 | 是否必须 | 说明 |
---|---|---|
shape | 是 | 线对象 |
返回值
是否是直线类型
备注
是否圆弧线
方法
bool IsCircleLine(SLine shape)
说明
是否圆弧线
参数
参数 | 是否必须 | 说明 |
---|---|---|
shape | 是 | 线对象 |
返回值
是否是圆弧线类型
备注
是否平行
方法
bool IsParallel(SShape sShape1, SShape sShape2)
说明
是否平行
参数
参数 | 是否必须 | 说明 |
---|---|---|
sShape1 | 是 | 第一个对象 |
sShape2 | 是 | 第二个对象 |
返回值
是否平行
备注
参数只能是线、面对象
是否平面
方法
bool IsPlaneFace(SFace sFace)
说明
是否平面
参数
参数 | 是否必须 | 说明 |
---|---|---|
sFace | 是 | 面对象 |
返回值
是否平面
备注
是否共面
方法
bool IsCoplane(SLine firstLine, SLine secondLine)
说明
是否共面
参数
参数 | 是否必须 | 说明 |
---|---|---|
firstLine | 是 | 第一个线对象 |
secondLine | 是 | 第二个线对象 |
返回值
是否共面
备注
参数只能是直线对象
是否圆柱面
方法
bool IsCylindFace(SShape shape)
说明
是否圆柱面
参数
参数 | 是否必须 | 说明 |
---|---|---|
shape | 是 | 面对象 |
返回值
是否圆柱面
备注
是否圆锥面
方法
bool IsConeFace(SShape shape)
说明
是否圆锥面
参数
参数 | 是否必须 | 说明 |
---|---|---|
shape | 是 | 面对象 |
返回值
是否圆锥面
备注
是否旋转面
方法
bool IsRevolutionFace(SShape shape)
说明
是否圆锥面
参数
参数 | 是否必须 | 说明 |
---|---|---|
shape | 是 | 面对象 |
返回值
是否旋转面
备注
获取投影长度
方法
void GetShapeProjectLength(SFace sFace, ref double x, ref double y, ref double z)
说明
获取投影长度
参数
参数 | 是否必须 | 说明 |
---|---|---|
sFace | 是 | 面对象 |
x | 是 | ref double |
y | 是 | ref double |
z | 是 | ref double |
返回值
备注
获取面的周长
方法
bool GetFacePerimeter(SFace sFace, ref double perimeter)
说明
获取面的周长
参数
参数 | 是否必须 | 说明 |
---|---|---|
sFace | 是 | 面对象 |
perimeter | 是 | ref double |
返回值
备注
设置拾取对象的类型
方法
void SetPickTypes(SShape.ShapeType[] arr)
说明
设置拾取对象的类型
参数
参数 | 是否必须 | 说明 |
---|---|---|
arr | 是 | 类型集 |
返回值
备注
获取拾取到的shape集
方法
Dictionary<ShapeType, SShape> GetPickShape(float x, float y)
说明
获取拾取到的shape集
参数
参数 | 是否必须 | 说明 |
---|---|---|
x | 是 | 坐标 |
y | 是 | 坐标 |
返回值
拾取到的数据集 key:类型 value:shape对象
备注
创建点测量需要的点对象
方法
SPoint CreatePntPoint()
说明
创建点测量需要的点对象
参数
无
返回值
创建的点对象
备注
删除点对象
方法
void RemovePoint(SShape sPoint)
说明
删除点对象
参数
参数 | 是否必须 | 说明 |
---|---|---|
sPoint | 是 | 点对象 |
返回值
备注
设置拾取精度偏差
方法
void SetDeviationAccuracy(@FloatRange(from = 0f, to = 600f) int accuracy)
说明
设置拾取精度偏差
参数
参数 | 是否必须 | 说明 |
---|---|---|
accuracy | 是 | 精度值 |
返回值
备注
创建点点距离测量
方法
SMeasure CreatePntPntDistanceMeasure(SPoint firstPoint, SPoint secondPoint)
说明
创建点点距离测量
参数
参数 | 是否必须 | 说明 |
---|---|---|
firstPoint | 是 | 点对象 |
secondPoint | 是 | 点对象 |
返回值
创建的测量对象
备注
创建点线距离测量
方法
SMeasure CreatePntLineDistanceMeasure(SPoint sPoint, SLine sLine)
说明
创建点线距离测量
参数
参数 | 是否必须 | 说明 |
---|---|---|
sPoint | 是 | 点对象 |
sLine | 是 | 线对象 |
返回值
创建的测量对象
备注
创建点圆弧线距离测量
方法
SMeasure CreatePntCircleLineDistanceMeasure(SPoint sPoint, SLine sLine)
说明
创建点圆弧线距离测量
参数
参数 | 是否必须 | 说明 |
---|---|---|
sPoint | 是 | 点对象 |
sLine | 是 | 线对象 |
返回值
创建的测量对象
备注
创建点面距离测量
方法
SMeasure CreatePntFaceDistanceMeasure(SPoint sPoint, SFace sFace)
说明
创建点面距离测量
参数
参数 | 是否必须 | 说明 |
---|---|---|
sPoint | 是 | 点对象 |
sFace | 是 | 面对象 |
返回值
创建的测量对象
备注
创建线线距离测量
方法
SMeasure CreateLineLineDistanceMeasure(SLine firstLine, SLine secondLine)
说明
创建线线距离测量
参数
参数 | 是否必须 | 说明 |
---|---|---|
firstLine | 是 | 线对象 |
secondLine | 是 | 线对象 |
返回值
创建的测量对象
备注
创建线面距离测量
方法
SMeasure CreateLineFaceDistanceMeasure(SLine sLine, SFace sFace)
说明
创建线面距离测量
参数
参数 | 是否必须 | 说明 |
---|---|---|
sLine | 是 | 线对象 |
sFace | 是 | 面对象 |
返回值
创建的测量对象
备注
创建线旋转面距离测量
方法
SMeasure CreateLineRevolutionFaceDistanceMeasure(SLine sLine, SFace sFace)
说明
创建线旋转面距离测量
参数
参数 | 是否必须 | 说明 |
---|---|---|
sLine | 是 | 线对象 |
sFace | 是 | 面对象 |
返回值
创建的测量对象
备注
创建面面距离测量
方法
SMeasure CreateFaceFaceDistanceMeasure(SFace firstFace, SFace secondFace)
说明
创建面面距离测量
参数
参数 | 是否必须 | 说明 |
---|---|---|
firstFace | 是 | 面对象 |
secondFace | 是 | 面对象 |
返回值
创建的测量对象
备注
创建面旋转面距离测量
方法
SMeasure CreateFaceRevolutionFaceDistanceMeasure(SFace planeFace, SFace revolutionFace)
说明
创建面旋转面距离测量
参数
参数 | 是否必须 | 说明 |
---|---|---|
planeFace | 是 | 面对象 |
revolutionFace | 是 | 面对象 |
返回值
创建的测量对象
备注
创建圆心距离测量
方法
SMeasure CreateCenterCenterDistanceMeasure(SLine firstLine, SLine secondLine)
说明
创建圆心距离测量
参数
参数 | 是否必须 | 说明 |
---|---|---|
firstLine | 是 | 线对象 |
secondLine | 是 | 线对象 |
返回值
创建的测量对象
备注
创建轴距测量
方法
SMeasure CreateShaftShaftDistanceMeasure(SFace firstFace, SFace secondFace)
说明
创建轴距测量
参数
参数 | 是否必须 | 说明 |
---|---|---|
firstFace | 是 | 面对象 |
secondFace | 是 | 面对象 |
返回值
创建的测量对象
备注
创建线线角度测量
方法
SMeasure CreateLineLineAngleMeasure(SLine firstLine, SLine secondLine)
说明
创建线线角度测量
参数
参数 | 是否必须 | 说明 |
---|---|---|
firstLine | 是 | 线对象 |
secondLine | 是 | 线对象 |
返回值
创建的测量对象
备注
创建线面角度测量
方法
SMeasure CreateLineFaceAngleMeasure(SLine sLine, SFace sFace)
说明
创建线面角度测量
参数
参数 | 是否必须 | 说明 |
---|---|---|
firstLine | 是 | 线对象 |
sFace | 是 | 面对象 |
返回值
创建的测量对象
备注
创建面面角度测量
方法
SMeasure CreateFaceFaceAngleMeasure(SFace firstFace, SFace secondFace)
说明
创建面面角度测量
参数
参数 | 是否必须 | 说明 |
---|---|---|
firstFace | 是 | 面对象 |
secondFace | 是 | 面对象 |
返回值
创建的测量对象
备注
创建圆的半径测量
方法
SMeasure CreateCircleRadiusMeasure(SLine sLine)
说明
创建圆的半径测量
参数
参数 | 是否必须 | 说明 |
---|---|---|
sLine | 是 | 线对象 |
返回值
创建的测量对象
备注
创建圆的直径测量
方法
SMeasure CreateCircleDiameterMeasure(SLine sLine)
说明
创建圆的直径测量
参数
参数 | 是否必须 | 说明 |
---|---|---|
sLine | 是 | 线对象 |
返回值
创建的测量对象
备注
剖切
剖切
方法
void Clip(SHORT viewID, BSTR paramJson)
说明
基于坐标平面创建剖面,可调节剖切深度,展示剖切面内容
参数
参数 | 是否必须 | 说明 |
---|---|---|
viewID | 是 | 视口ID默认为0 |
paramJson | 是 | viewID传默认值0,paramJson为json格式数据如备注所示。 direction 剖切方向:1:X;2:Y;3:Z; -1:-X;-2:-Y;-3:-Z; position 剖切深度(0~100) showClipPlane 是否显示示意面 显示为True,不显示为False showCutPlane 是否显示盖面 显示为True,不显示为False reverseClip 是否反向剖切 显示为True,不显示为False |
返回值
void
备注
paramJson为json格式数据:{ "direction": "1", "position": 50, "showClipPlane": false, "showCutPlane": true, "reverseClip": "false" }